package com.simon.train.common.dto;


import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 在common中增加一个公有的dto请求属性
 * 后续所有涉及到分页查询的实体类，就不用在各自的实体类中都增加这两个属性
 * 直接extends继承即可
 * 直接用于PageHelper分页插件
 *
 * @Data说明
 * 这个警告信息是关于 Lombok 的 @Data 注解在父类和子类中使用时的潜在问题。
 * 具体来说，它涉及到 equals() 和 hashCode() 方法的生成逻辑。
 * 1.当父类和子类都使用了 @Data 注解时，Lombok 会为每个类生成自己的 equals() 和 hashCode() 方法。调用时都会考虑到
 * 2.当父类没有用，子类使用了，那么调用方法时就不会考虑到父类中的变量
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageReqDto {

    @NotNull(message = "【页码】不能为空")
    private Integer page;

    @NotNull(message = "【每页条数】不能为空")
    @Max(value = 100, message = "【每页条数】不能超过100")
    private Integer PageSize;

}
